import type { ExtendMsgRecipientModel } from './extendMsgRecipientModel';

import type { Kv } from '#/api/types';

export namespace ExtendMsgModel {
  export interface ExtendMsgPageQuery {
    templateCode?: string; // 消息模板
    type?: string; // 消息类型
    status?: string; // 执行状态
    channel?: string; // 发送渠道
    param?: string; // 参数
    title?: string; // 标题
    content?: string; // 发送内容
    sendTime?: string; // 发送时间
    bizId?: string; // 业务ID
    bizType?: string; // 业务类型
    remindMode?: string; // 提醒方式
    author?: string; // 发布人姓名
    createdOrgId?: string; // 创建人所属机构
  }

  export interface ExtendMsgSaveVO {
    templateCode?: string; // 消息模板
    type?: string; // 消息类型
    status?: string; // 执行状态
    channel?: string; // 发送渠道
    param?: string; // 参数
    title?: string; // 标题
    content?: string; // 发送内容
    sendTime?: string; // 发送时间
    bizId?: string; // 业务ID
    bizType?: string; // 业务类型
    remindMode?: string; // 提醒方式
    author?: string; // 发布人姓名
    createdOrgId?: string; // 创建人所属机构
  }

  export interface ExtendMsgUpdateVO {
    id: string;
    templateCode?: string; // 消息模板
    type?: string; // 消息类型
    status?: string; // 执行状态
    channel?: string; // 发送渠道
    param?: string; // 参数
    title?: string; // 标题
    content?: string; // 发送内容
    sendTime?: string; // 发送时间
    bizId?: string; // 业务ID
    bizType?: string; // 业务类型
    remindMode?: string; // 提醒方式
    author?: string; // 发布人姓名
    createdOrgId?: string; // 创建人所属机构
  }

  export interface ExtendMsgResultVO {
    echoMap?: any;
    id?: string; // 短信记录ID
    createdBy?: string; // 创建人ID
    createdTime?: string; // 创建时间
    updatedBy?: string; // 最后修改人
    updatedTime?: string; // 最后修改时间
    templateCode?: string; // 消息模板
    type?: string; // 消息类型
    status?: string; // 执行状态
    channel?: string; // 发送渠道
    param?: string; // 参数
    title?: string; // 标题
    content?: string; // 发送内容
    sendTime?: string; // 发送时间
    bizId?: string; // 业务ID
    bizType?: string; // 业务类型
    remindMode?: string; // 提醒方式
    author?: string; // 发布人姓名
    createdOrgId?: string; // 创建人所属机构
  }

  export interface MsgSendVO {
    code?: string; // 模板标识
    paramList?: Kv[]; // 参数
    sendTime?: string; // 发送时间
    bizId?: string; // 业务ID
    bizType?: string; // 业务类型
    author?: string; // 发布人姓名
    recipientList?: ExtendMsgRecipientModel.ExtendMsgRecipientSaveVO[]; // 接收人

    title?: string;
    name?: string;
  }
}
